In order to avoid this, the allocator may, instead of failing, trigger a defragmentation ( or memory compaction cycle ) or other resource reclamation, such as a major garbage collection cycle, in the hope that it will then be able to satisfy the request.